package com.parking.mgr.useraccount.model.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.parking.mgr.common.pojo.base.node.BaseTreeNode;
import com.parking.mgr.common.pojo.base.vo.BaseVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @ClassName BasicMenuVO
 * @Description 功能菜单视图对象
 * @Auther: zhijianpu
 * @Date: 2023/5/19
 */
@Data
@ApiModel(description= "功能菜单视图对象")
public class BasicMenuVO extends BaseVO implements BaseTreeNode {

    /**
     * 主键
     */
    @ApiModelProperty(value = "ID")
    private String id;


    /**
     * 父Id
     */
    @ApiModelProperty(value = "父ID")
    @JsonProperty("fkParentId")
    private String fkParentId;

    /**
     * 名称
     */
    @ApiModelProperty(value = "名称")
    @JsonProperty("fName")
    private String fName;

    /**
     * 菜单类型（是否是入口功能菜单）
     * TODO 以后可能扩展为 菜单类型（字典 0目录 1菜单 2按钮）
     */
    @ApiModelProperty(value = "是否是入口功能菜单")
    @JsonProperty("fEnterState")
    private String fEnterState;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标")
    @JsonProperty("fElementIcon")
    private String fElementIcon;

    /**
     * logo图片文件url
     */
    @ApiModelProperty(value = "logo图片文件url")
    @JsonProperty("fLogoImgUrl")
    private String fLogoImgUrl;

    /**
     * logo图片文件id
     */
    @ApiModelProperty(value = "logo图片文件id")
    @JsonProperty("fLogoImgFileId")
    private String fLogoImgFileId;

    /**
     * logo图片文件后缀名
     */
    @ApiModelProperty(value = "logo图片文件后缀名")
    @JsonProperty("fLogoImgFileSuffix")
    private String fLogoImgFileSuffix;

    /**
     * 功能菜单url
     */
    @ApiModelProperty(value = "功能菜单url")
    @JsonProperty("fUrl")
    private String fUrl;

    /**
     * 排序编号
     */
    @ApiModelProperty(value = "排序编号")
    @JsonProperty("fSortNumber")
    private String fSortNumber;

    /**
     * 子节点
     */
    private List children;


    @Override
    public void setChildren(List children) {
        this.children = children;
    }

}
